Перейти к основному содержимому

5.09. Основы языка

Разработчику Архитектору

Основы языка

Kotlin – современный язык программирования, разработанный компанией JetBrains. Работа над ним началась ещё в 2010 году как альтернатива Java, который к тому времени уже считался устаревшим в плане удобства и читаемости кода.

Основными причинами создания Kotlin были:

  • многословность кода на Java;
  • нехватка поддержки функционального программирования;
  • необходимость в безопасности типов и null safety;
  • улучшение производительности разработчиков.

Какие возможности предоставляет Kotlin?

  • писать код один раз и запускать его на разных платформах: Android, iOS, JVM, JS, Native;
  • снизить объём boilerplate-кода за счёт автоматического вывода типов, data-классов, упрощённого синтаксиса;
  • нулевые ссылки обрабатываются через строгую систему типов, что снижает риск ошибок времени выполнения;
  • взаимодействие с Java-библиотеками, фреймворками и кодом;
  • работать с лямбдами, неизменяемыми коллекциями, функциями высшего порядка;
  • объектно-ориентированное, императивное, функциональное и реактивное программирование;
  • создание приложений для мобильных устройств с акцентом на стабильность и производительность;
  • написание скриптов сборки, конфигураций, сценариев с помощью Kotlin DSL;
  • вести разработку в serverless-архитектурах, Kubernetes, контейнерных системах.

Официальная документация Kotlin есть на сайте https://kotlinlang.org/ и https://www.jetbrains.com/kotlin-ecosystem/

Чит-лист - https://cheatsheets.zip/kotlin

В 2005 году Google начала использовать Java для разработки приложений Android. В 2010 году Oracle купили Sun Microsystems (владельца Java), и подали в суд на Google за использование Java API без лицензии. Дело длилось годы и закончилось в 2021 году решением Верховного Суда США в пользу Google, но отношения между компаниями были испорчены. Как итог – на конференции Google I/O 2017 объявила Kotlin официальным языком разработки для Android. Это было стратегическое решение: уйти от зависимости Oracle и получить более современный, выразительный язык. С тех пор Kotlin стал основным языком разработки для Android и получил развитие в других сферах благодаря поддержке JetBrains и сообщества.

Особенности языка Kotlin:

  • null safety – типы не могут содержать null по умолчанию;
  • инференция типов – компилятор сам определяет тип переменной;
  • неявное преобразование типов – поддерживается только безопасное;
  • функциональное программирование – лямбды, высокопроизводительные коллекции;
  • поддержка корутин – асинхронное программирование с использованием легковесных потоков;
  • мультиплатформенность – Kotlin Multiplatform позволяет делить бизнес-логику между Android, iOS, JS, JVM и т.д.;
  • безопасность типов – меньше ошибок во время выполнения;
  • DSL-поддержка – удобство написания DSL (например, Ktor, Anko, SQLDelight);
  • компактность кода – значительно меньше кода по сравнению с Java;
  • взаимодействие с Java – полная совместимость, можно даже смешивать Kotlin и Java в одном проекте.